# -*- coding:utf-8 -*-
# @Time:2023/6/2 20:14
# @Author: cevent
# @name=app 测试celery

import time
from tasks import add


def addTest(x, y):
    print('task is doing...')
    time.sleep(5)
    return x + y


# 1.外部tasks.py测试
# if __name__ == '__main__':
#     print('start tasks')
#
#     # 不使用celery-task，不同调用
#     result_normal = addTest(11, 8)
#     print('普通方法：', result_normal)  # 普通方法： 19
#
#     # 如果使用celery-task，这里需要加入delay
#     result = add.delay(1, 7)
#     print('tasks finish：', result)  # tasks finish： f3afc83a-fe26-40cd-af02-c7c2935dbd96

'''使用demo模块的时候去掉注释 start'''

# demo应用
from demo import taskDemo
from demo import taskDemo2

# 这里直接引入demo的方法会报错
taskDemo.add.delay(1, 2)
taskDemo2.multiply.delay(2, 4)

'''使用demo模块的时候去掉注释 end'''

print('celery tasks finished by demo!')

if __name__ == '__main__':
    print('app-demo-celeryDemo测试...')

    '''
    测试cmd和celery -A tasks worker -l info -P eventlet 配置使用
    先启动：celery -A tasks worker -l info -P eventlet
    再cmd调用：
    1.到celery_tasks目录cmd
    2.python
    3.from tasks import add
    4.result=add.delay(1,2)
    5.result.ready()  这里会返回true或false，可忽略
    6.exit()退出
    '''
    # result=addTest(10,6)
    # print("app-demo-finish: ",result)

    # print('tasks start...')
    # taskReturn = add.delay(2, 8)
    # print("tasks finish: ", taskReturn)
